package com.poorstu.manager.impl;

import java.util.ArrayList;
import java.util.List;

import com.common.context.ApplicationContextUtil;
import com.poorstu.dao.FlowDao;
import com.poorstu.dao.RoleDao;
import com.poorstu.model.FlowLineMod;
import com.poorstu.model.FlowMod;
import com.poorstu.model.RoleMod;

public class DwrSelectFlowLineByFlowId {
	
	FlowDao flowDao=(FlowDao)ApplicationContextUtil.getBean("flowDao");
	RoleDao roleDao=(RoleDao)ApplicationContextUtil.getBean("roleDao");
	
	public FlowMod selectFlowLine(int flowId){
		
		List<FlowLineMod> flowLine=flowDao.selectFlowLineByFlowId(flowId);
		List<FlowLineMod> newFlowLine=new ArrayList<FlowLineMod>();
		
		List<RoleMod> newRole=roleDao.selectRoleAll();
		
		for(int i=0;i<flowLine.size();i++)
		{
			RoleMod roleMod=new RoleMod();
			roleMod.setRoleId(flowLine.get(i).getRole().getRoleId());
			roleMod.setRoleName(flowLine.get(i).getRole().getRoleName());
			roleMod.setRoleaStatus(flowLine.get(i).getRole().getRoleaStatus());
			
			
			for(int j=0;j<newRole.size();j++){
				
				if(newRole.get(j).getRoleId()==((flowLine.get(i).getRole().getRoleId()))){
					newRole.remove(j);
				}
			}
			
			FlowLineMod flowLineMod=new  FlowLineMod();
			flowLineMod.setRole(roleMod);
			flowLineMod.setOrders(flowLine.get(i).getOrders());
			newFlowLine.add(flowLineMod);
		}
		FlowMod flowMod=new  FlowMod();
		
		flowMod.setFlowLineList(newFlowLine);
		flowMod.setRoleList(newRole);
		
		return flowMod;
	}
	
	
//	public FlowMod toLeft(int flowId,int roleId){
//		
//		List<FlowLineMod> flowLine=flowDao.selectFlowLineByFlowId(flowId);
//		//List<FlowLineMod> newFlowLine=new ArrayList<FlowLineMod>();
//		
//		List<RoleMod> newRole=roleDao.selectRoleAll();
//		
//		
//		for(int j=0; j<flowLine.size();j++ ){
//		for(int i=0;i<newRole.size();i++)
//		{
//			if(newRole.get(i).getRoleId()==roleId)
//			{
//				newRole.remove(i);
//			}
//			if(newRole.get(i).getRoleId()==flowLine.get(j).getRole().getRoleId())
//			{
//				newRole.remove(i);
//			}
//		}
//		}
//		RoleMod roleMod=new RoleMod();
//		roleMod=roleDao.getRole(roleId);
//		
//		int max=-1;
//		for(int i=0;i<flowLine.size();i++){
//			if(flowLine.get(i).getOrders()>max){
//				max=flowLine.get(i).getOrders();
//			}
//		}
//		FlowMod flowMod=flowDao.selcetFlowById(flowId);
//		FlowLineMod flowLineMod=new  FlowLineMod();
//		flowLineMod.setRole(roleMod);
//		flowLineMod.setOrders(max+1);
//		flowLineMod.setFlow(flowMod);
//		
//		flowDao.saveFlowLine(flowLineMod);
//	//	flowLine=flowDao.selectFlowLineByFlowId(flowId);
//		flowLine.add(flowLineMod);
//		FlowMod newflowMod=new  FlowMod();
//		
//		flowMod.setFlowLineList(flowLine);
//		flowMod.setRoleList(newRole);
//		return newflowMod;
//		
//	}
}
